1. Field of the Invention
This invention relates generally to an echo canceller for use at a telecommunications network node and more particularly to an adaptive echo canceller for reliably detecting double talk conditions and echo path changes and distinguishing therebetween.
2. Description of Background and Related Art
The presence of echoes in long-distance telephony is a thorny problem. A long-distance communication circuit usually comprises four-wire and two-wire segments joined at each end of the transmission line by hybrid circuits. Impedance mismatch in a hybrid circuit causes a portion of the signal received at the hybrid circuit to be reflected back onto the transmit four-wire segment whence it came and this reflected signal is perceived as echo to the speaker who originated it. Adaptive echo cancellers are thus employed to minimize the impact of echo signals created on four-wire transmission lines.
Normally, a four-wire receive signal is at a higher level than its echo signal on the four-wire transmit path because there is loss across the hybrid circuit. Near-end speech on the transmit path will therefore typically be stronger than the echo signal. However, near-end speech is unwanted noise as far as convergence of the echo canceller is concerned since it would diverge the canceller if the latter was to continue updating its estimated impulse response while near-end speech is present. Various techniques and schemes have therefore been developed to provide double talk detection and thus alleviate the problem.
The problem of echo cancellation on the telephone network is exacerbated by the connection of a handsfree terminal at one or both ends of the transmission line. Double talk detection in a handsfree system refers to the determination of whether, in the microphone output, there is near-end speech mixed with probably much stronger far-end signal played through the loudspeaker. By comparison with double talk detection for network echo cancellation applications, double talk detection in an acoustic echo cancellation handsfree system is more likely to be subjected to sudden echo path changes as well as to echo levels that are much above the level of near-end speech. This is due to the fact that, in a handsfree terminal, the receive transducer or speaker is close to the microphone of the terminal than the near-end user; furthermore, the case of the terminal conducts a substantial amount of acoustic energy from its speaker to its microphone. In a typical implementation, it is not unusual for the far-end signal from the loudspeaker to be as large as 25 db (decibel) above the level of the near-end signal at the microphone. The near-end speech signal by a user of the terminal is therefore difficult to ascertain because the far-end signal from the loudspeaker will mask at least a portion of the signal generated by the near-end user.
Numerous schemes of double talk detection have been devised and usually fall into one of three categories. A first category which may be labelled the energy comparison scheme usually employs power detectors for detecting the average power, the peak power and the residual power of various signals to generate the output signal of a double talk detector. Energy comparison is the most straight forward and the simplest of the three categories; however, it does not reliably detect double talk situations because an echo path change can cause energy fluctuation patterns similar to that caused by a real double talk condition. Basically, an energy comparison scheme is not able to distinguish between an echo path change and a double talk condition. Example circuits of this type of double talk detectors are described in U.S. Pat. Nos. 4,360,712, 5,463,618 and 4,645,883.
A second category which may be labelled a cross-correlation technique is basically an extension of the energy comparison category; it adds a cross-correlation criterion between various signals to arrive at a control decision. This scheme is more complicated than the energy comparison technique and requires additional memories and computational power. While providing increased performance over the energy comparison scheme, this method is also not deemed to provide an adequately reliable detection scheme. Examples of this type of double talk detection may be found in U.S. Pat. Nos. 5,646,990 and 5,193,112.
Yet a third category is related to the cross-correlation technique; it requires the monitoring of the directions of the updating vectors for the echo canceller which are given by an adaptation algorithm such as NLMS (Normalized Least Mean Square). If the updating vectors over a number of samples all roughly point at a common direction, the echo canceller is in the converging mode. If on the other hand, the vectors point at various diverse directions, the echo canceller is deemed to have converged. This decision process together with the energy of the signals are then used to determine whether a double talk condition exits. Under most conditions, this scheme may provide a fairly reliable result but is very computation intensive. Double talk detection implementations based on the monitoring of updating vectors may be found in U.S. Pat. No. 4,918,727.
As discussed below, the detection of double talk conditions and echo path changes is important to the proper operation of an echo cancellation system. Furthermore, it is critically important to reliably detect and distinguish between double talk and echo path changes. However, the known energy comparison methods and the cross-correlation methods are both deemed to suffer from inadequate performance. The vector monitoring and updating method, on the other hand, may provide a relatively reliable output but its high demands on computational capability renders it unsuitable for use in most low cost commercial digital signal processors (DSP) utilized in high volume products such as consumer telecommunications terminals.